Main view of Mumble |
|
Original author(s) | Thorvald Natvig |
Stable release | 1.2.3 / February 19, 2011 |
Written in | C++ |
Operating system | Linux, Mac OS X, Microsoft Windows |
Platform | Qt |
Type | VoIP client and server |
License | New BSD license |
Website | http://mumble.sourceforge.net/ |
Mumble is a voice over IP application primarily designed for use by gamers, similar to programs such as TeamSpeak and Ventrilo.[1]
Mumble uses a client–server architecture where users who want to talk connect to the same server.[2] It has a very simple administrative interface and most of the engineering effort is put into sound quality and low latency. All communication is encrypted to ensure user privacy.[3]
Cross-platform and released under the terms of the new BSD license, Mumble is free and open source software.
Contents |
A Mumble server (called Murmur) has a Root channel and a hierarchical tree of channels beneath it. Users can link channels together to temporarily create large virtual channels. This is useful during larger events where a small group of users may be chatting in a channel, but they will be linked to a common channel with other users to hear announcements. It also matches well with team-based FPS games. Each channel has an associated set of groups and access control lists which control user permissions. The system is fairly complex allowing many different usage scenarios, but this complexity also makes it hard to configure.[4]
Mumble uses Speex not only as a voice codec, but also for noise reduction and automatic gain control. From version 1.2 CELT is also supported.[3] Mumble is optimized for low latency, resulting in faster communication. Mumble incorporates echo cancellation, which permits the use of speakers as well as headphones. With some games, like Battlefield and Call of Duty on Windows, a plugin lets you hear the positional audio of other players.[5]
There is an integrated overlay for use in games.[3] The overlay shows who is talking and what linked channel they are in. As of version 1.0, users can upload their own avatars to represent themselves in the overlay, creating a much more personalized experience. As of version 1.2, the overlay works with most Direct3D 9/10 and OpenGL games on Windows and has OpenGL support for Linux and MacOSX.[6] DirectX 11 game support is planned[7], but the project manager working on the overlay does not have access to DX11 hardware to test on.
For certain games, Mumble can enable you to hear the people playing with you from the position they are located in the game.[3] This not only includes giving a sense of direction, but also of distance.
To realise this, Mumble sends your own in-game position to players in the same game with every audio packet. There are two ways in which Mumble can gather the information needed to do this: it either reads the needed information directly out of the memory of the game, the way most games are supported at this point, or the games provide it themselves via the so called Link plugin interface.
The link plugin provides games with a way to expose the information needed for Positional audio themselves by included a small piece of sourcecode provided by the Mumble project.[8] Up to this point, this interface is mostly used by open source games as they are more willing to include such modifications in their code.
A list of games which are supported for positional audio can be found at the official site.
Mumble is designed to fit into existing technological and social structures. As such, the server is fully remote controllable over Ice.[9] Users, Channels as well as virtual server instances can be manipulated. The project provides a number of sample scripts illustrating the abilities of the interface[10] as well as several prefabricated scripts offering features like authenticating users using an existing phpBB or Simple Machines Forum database.[11] The murmur server uses port 64738 TCP and UDP by default.
There is an alternative minimalistic implementation of the mumble-server, called uMurmur[12]. It is mainly aimed at being installed on embedded devices with limited resources, like for example residential gateways running OpenWrt[13]